home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Softdisk Supreme
/
Softdisk Supreme.iso
/
pc
/
DSK Files
/
0-49
/
SD007a.dsk
/
SOFTWARE.POLL.bas
< prev
next >
Wrap
BASIC Source File
|
2003-06-12
|
4KB
|
92 lines
10 REM SOFTWARE.POLL
20 D$ = CHR$(4)
30 TEXT : PRINT D$"NOMON C,I,O": SPEED= 255
100 PRINT D$;"OPEN POLL.TITLES"
110 PRINT D$;"READ POLL.TITLES"
120 INPUT PD$: INPUT NI
125 DIM TI$(NI),RT(NI)
130 FOR I = 1 TO NI: INPUT TI$(I): NEXT
140 PRINT D$;"CLOSE POLL.TITLES"
150 PRINT D$;"OPEN POLL.RATINGS"
160 PRINT D$;"READ POLL.RATINGS"
170 INPUT PD$: INPUT RF
180 FOR I = 1 TO NI: INPUT RT(I): NEXT
190 PRINT D$
500 GOSUB 6000
510 VTAB 3: PRINT "THIS POLL IS INTENDED TO MEASURE"
520 VTAB 5: PRINT "SOFTWARE SATISFACTION."
530 VTAB 8: PRINT "PLEASE VOTE ONLY FOR THAT SOFTWARE"
540 VTAB 10: PRINT "WHICH YOU OWN."
550 VTAB 13: PRINT "R<CTRL-A>ATE SOFTWARE ON A SCALE FROM 1 TO 10.
560 VTAB 15: PRINT "1=BAD";: HTAB 17: PRINT "5=OK";: HTAB 27: PRINT "10=EXCELLENT"
570 VTAB 18: PRINT "SOFTWARE COMES FROM THE SOFTALK TOP-30"
580 VTAB 20: PRINT "BEST SELLER LIST."
590 GOSUB 7000
600 GOSUB 6000
610 VTAB 3: PRINT "USE THE I,J,K & M KEYS TO MOVE ABOUT"
620 VTAB 5: PRINT "AND CAST YOUR VOTES."
630 VTAB 6: HTAB 21: INVERSE : PRINT "UP";: NORMAL
640 VTAB 8: HTAB 21: PRINT "I";
650 VTAB 9: HTAB 15: INVERSE : PRINT "LEFT";: NORMAL : PRINT " J K ";: INVERSE : PRINT "RIGHT";: NORMAL
660 VTAB 10: HTAB 21: PRINT "M";
670 VTAB 12: HTAB 20: INVERSE : PRINT "DOWN": NORMAL
680 VTAB 14: PRINT "TO WITHDRAW A VOTE, MOVE OFF THE SCALE"
690 VTAB 16: PRINT "ON EITHER END."
700 VTAB 19: PRINT "WHEN YOU ARE READY TO REGISTER YOUR"
710 VTAB 21: PRINT "VOTES HIT THE RETURN KEY."
720 GOSUB 7000
730 I = 1
1000 GOSUB 5000
1020 VTAB ( PEEK(37) +1): HTAB 40: GET R$: PRINT D$
1030 IF R$ = CHR$(13) GOTO 2500
1040 IF R$ = "I" GOTO 2300
1050 IF R$ = "M" GOTO 2200
1060 IF R$ = "J" GOTO 2100
1070 IF R$ = "K" GOTO 2000
1080 IF R$ = "H" GOTO 600
1090 VTAB ( PEEK(37)): GOTO 1020
2000 L = RT(I): VTAB (3 +2 *K): HTAB 20: PRINT "1 2 3 4 5 6 7 8 9 10";
2010 L = L +1: IF L >10 THEN L = 0
2020 RT(I) = L
2030 IF L < >0 THEN HTAB (18 +2 *L): INVERSE : PRINT L;: NORMAL
2040 GOTO 1020
2100 L = RT(I): VTAB (3 +2 *K): HTAB 20: PRINT "1 2 3 4 5 6 7 8 9 10";
2110 L = L -1: IF L <0 THEN L = 10
2120 RT(I) = L
2130 IF L < >0 THEN HTAB (18 +2 *L): INVERSE : PRINT L;: NORMAL
2140 GOTO 1020
2200 I = I +1:K = K +1:L = 0
2210 IF I >NI THEN I = 1:K = 11
2220 IF K >10 THEN GOSUB 5000: GOTO 1020
2230 VTAB (1 +2 *K): HTAB 1: PRINT TI$(I -1);
2240 VTAB (3 +2 *K): HTAB 1: INVERSE : PRINT TI$(I);: NORMAL
2250 GOTO 1020
2300 I = I -1:K = K -1:L = 0
2310 IF I <1 THEN I = NI
2320 IF K <1 THEN I = INT(I/10) *10 -9: GOSUB 5000: GOTO 1020
2330 VTAB (5 +2 *K): HTAB 1: PRINT TI$(I +1);
2340 VTAB (3 +2 *K): HTAB 1: INVERSE : PRINT TI$(I);: NORMAL
2350 GOTO 1020
2500 PRINT D$;"CLOSE POLL.RATINGS"
2510 PRINT D$;"DELETE POLL.RATINGS"
2520 PRINT D$;"OPEN POLL.RATINGS"
2530 PRINT D$;"WRITE POLL.RATINGS"
2535 RF = 0: FOR I = 1 TO NI: IF RT(I) < >0 THEN RF = 1: NEXT
2540 PRINT PD$: PRINT RF
2550 FOR I = 1 TO NI: PRINT RT(I): NEXT
2560 PRINT D$;"CLOSE POLL.RATINGS"
2570 HOME : PRINT D$;"RUN KICK.IT.OFF"
5000 GOSUB 6000
5010 VTAB 3: HTAB 20: PRINT "BAD";: HTAB 36: PRINT "GOOD"
5020 J = I:K = 1
5055 VTAB (3 +2 *K): HTAB 1
5060 PRINT TI$(J);: HTAB 20: PRINT "1 2 3 4 5 6 7 8 9 10";
5065 IF RT(J) < >0 THEN HTAB (18 +2 *RT(J)): INVERSE : PRINT RT(J);: NORMAL
5070 J = J +1:K = K +1
5080 IF J >NI OR K >10 GOTO 5100
5090 GOTO 5055
5100 VTAB 24: HTAB 2: INVERSE : PRINT "H = HELP";: HTAB 16: PRINT "RETURN = REGISTER VOTES";: NORMAL
5110 VTAB 5: HTAB 1: INVERSE : PRINT TI$(I);: NORMAL :K = 1:L = 0
5115 RETURN
6000 HOME : HTAB 14: INVERSE : PRINT "SOFTWARE POLL": NORMAL : RETURN
7000 VTAB 24: HTAB 14: INVERSE : PRINT "HIT SPACE BAR";: NORMAL : GET R$: PRINT D$: RETURN